using System;

using Microsoft.Cci;
using Microsoft.FxCop.Sdk.Introspection;

namespace Tyng.Rules
{
	public abstract class UseUsingBlockWithIDisposableTypeBase<T> : MethodRuleBase<T>
        where T : UseUsingBlockWithIDisposableTypeBase<T>
	{
		private Type[] _types;

		protected UseUsingBlockWithIDisposableTypeBase(params Type[] types)
		{
			if(types == null)
				throw new ArgumentNullException("types");

			_types = types;
		}

		protected override ProblemCollection Check(Method method)
		{
			return Problems;
		}

		protected override bool ShouldCheckMethod(Method method)
		{
			//TODO: see if method has local that is one of the IDisposable types...

			return base.ShouldCheckMethod (method);
		}


	}
}
